# Este módulo maneja los métodos que son accesibles por todas las vistas de la aplicación.
module ApplicationHelper

# Maneja los mensajes de error cuando se crea un objeto nuevo.
  def error_messages_for(object_name, options = {})
    options = options.symbolize_keys
    object = instance_variable_get("@#{object_name}")
    if object && !object.errors.empty?
      content_tag("div",
      content_tag(
                  options[:header_tag] || "h2",
             "Imposible guardar #{object_name.to_s.gsub("_", " ")}"
      ) +
      content_tag("p", "Los siguientes campos han tenido problemas:") +
      content_tag("ul", object.errors.full_messages.collect { |msg|
content_tag("li", msg) }),
           "id" => options[:id] || "errorExplanation", "class" =>
options[:class] || "errorExplanation"
      )
    else
         ""
    end
  end

# Valida que el usuario logueado tenga el rol de Administrador.
	def is_adm(&block)
		if current_user
			if current_user.role_user.descripcion == 'Administrador' then
				block.call
			end
		end		
	end

# Valida que el usuario logueado no tenga el rol de Invitado.
	def get_mod(&block)
    if current_user
    	if current_user.role_user.descripcion != 'Invitado' then
				block.call
			end
		end	
	end




end
